package com.security;

import com.pojo.vo.UserVo;

/**
 * 认证代理类，负责将认证请求发送到认证服务器进行用户身份认证
 */
public interface AuthenticationProxy {
    /**
     * 第一次根据用户名密码进行认证
     *
     * @param username
     * @param password
     */
    boolean sendAuth(String username, String password);

    /**
     * 第二次认证，根据用户名和otp密码认证
     *
     * @param username
     * @param code
     * @return
     */
    boolean checkOtp(String username, String code);

    /**
     * 两次认证通过，加载用户的权限信息
     *
     * @param username
     * @return
     */
    UserVo load(String username);
}
